package jp.ac.hosei.gaedemo.controller;

import java.util.Date;

import jp.ac.hosei.gaedemo.dto.SearchCondition;
import jp.ac.hosei.gaedemo.service.SchedulerService;

import org.slim3.controller.Controller;
import org.slim3.controller.Navigation;

public class SearchController extends Controller {

    SchedulerService service = new SchedulerService();

    @Override
    public Navigation run() throws Exception {
        // 検索条件のバリデーションを行う場合はこの下に書く
        // --  省略  --
        
        // 検索条件を一度変数に保持（煩雑かもしれないが分り易くするために念のため）
        String title = asString("title");
        Date fromDate = asDate("fromDate", "yyyy/MM/dd");
        Date toDate = asDate("toDate", "yyyy/MM/dd");

        SearchCondition sc = new SearchCondition();
        sc.setTitle(title);
        sc.setFromDate(fromDate);
        sc.setToDate(toDate);

        // 検索の実行とRequestスコープの変数に格納
        requestScope("scheduleList", service.getScheduleByCond(sc));
        // iCalendar形式でデータ出力する際のURL（この時点では表示用）
        requestScope("icalurl", 
            request.getScheme() + "://" + request.getServerName() + ":" + 
            request.getServerPort() + "/pull?" + request.getQueryString());
        
        
        return forward("list.jsp");
    }
}
